﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;

namespace MainService
{
    [ServiceContract(Namespace="")]    
    public interface IUserService
    {
        [OperationContract]
        [WebInvoke(Method="GET")]
        UserDetails ValidateUser(string username, string password);

        //[OperationContract]
        //string AddUser(string emailId, string appUserName, string password, string company, int deviceLimit, int clientId, List<string> lstServices);
        [OperationContract]
        
        [WebInvoke(Method = "POST")]
        string AddUser(int userId, string emailId, string appUserName, string password, string company, int deviceLimit, int clientId, List<string> lstServices, string hashCode);
        
        [OperationContract]
        [WebInvoke(Method = "POST")]
        string UpdateUser(int userId, string appUserName, string password, int deviceLimit, List<string> lstServices, int clientId, string hashCode);
       
        [OperationContract]
        [WebInvoke(Method = "POST")]
        string DeleteUser(int userId, int clinetId, string hashCode);
      
        [OperationContract]
        [WebInvoke(Method = "POST")]
        List<UserDetails> ListUsers(int clientId, string HashCode);
      
        [OperationContract]
        [WebInvoke(Method = "POST")]
        UserDetails GetAppUser(int userId, int clientId, string hashCode);
    }


}
